import { Component, OnInit, ViewChild } from '@angular/core';

@Component({
  selector: 'app-prop',
  templateUrl: './prop.component.html',
  styleUrls: ['./prop.component.css']
})
export class PropComponent implements OnInit {

  public msg:string = '父组件传的一个标题'

  // 获取子组件的属性、方法
  // 第一种： 使用@ViewChild 获取整个子组件实例
  @ViewChild('footer', {static: true}) footer:any

  // 第二种： 在子组件 使用 Output装饰器和 EventEmitter 事件驱动 ，给父组件广播数据
  // @Output() private outer: any = new EventEmitter() 

  constructor() { }

  ngOnInit() {
  }

  show() {
    alert('这是父组件的show方法')
  }

  getChildMsg() {
    alert(this.footer.msg)
  }

  getChildRun() {
    this.footer.run()
  }

  runp(e) {
    console.log(e);           // 这是子组件给父组件广播的数据
    alert('我是父组件的方法')
  }

}
